CXX = g++
RMFLAGS = -f -v
main: main.o Token.o TokenIntExp.o TokenBoolExp.o VarTable.o TokenSen.o TokenBlock.o TokenSenCtrl.o
	$(CXX) $^ -o $@ $(CXXFLAGS)
.PHONY: clean
clean:
	rm *.o $(RMFLAGS)
	rm *~ $(RMFLAGS)
	rm main $(RMFLAGS)
VarTable.o: VarTable.cpp Error.h Token.h Value.h VarTable.h
	$(CXX) $< -c $(CXXFLAGS)
TokenBlock.o: TokenBlock.cpp Error.h Token.h TokenBlock.h TokenSen.h
	$(CXX) $< -c $(CXXFLAGS)
Token.o: Token.cpp Error.h Token.h
	$(CXX) $< -c $(CXXFLAGS)
TokenSen.o: TokenSen.cpp Error.h Token.h TokenBoolExp.h TokenIntExp.h TokenSen.h TokenSenCtrl.h Value.h VarTable.h
	$(CXX) $< -c $(CXXFLAGS)
TokenIntExp.o: TokenIntExp.cpp Error.h Token.h TokenIntExp.h Value.h VarTable.h
	$(CXX) $< -c $(CXXFLAGS)
TokenBoolExp.o: TokenBoolExp.cpp Error.h Token.h TokenBoolExp.h TokenIntExp.h Value.h
	$(CXX) $< -c $(CXXFLAGS)
main.o: main.cpp Error.h Token.h TokenBlock.h Value.h VarTable.h
	$(CXX) $< -c $(CXXFLAGS)
TokenSenCtrl.o: TokenSenCtrl.cpp Error.h Token.h TokenBlock.h TokenBoolExp.h TokenSen.h TokenSenCtrl.h
	$(CXX) $< -c $(CXXFLAGS)

